<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
<head>
  <link href="//gmpg.org/xfn/11" rel="profile">
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="generator" content="Hugo 0.69.0" />

  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Django &middot; 我的博客</title>

  
  <link type="text/css" rel="stylesheet" href="/mysite/css/print.css" media="print">
  <link type="text/css" rel="stylesheet" href="/mysite/css/poole.css">
  <link type="text/css" rel="stylesheet" href="/mysite/css/syntax.css">
  <link type="text/css" rel="stylesheet" href="/mysite/css/hyde.css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abril+Fatface|PT+Sans:400,400i,700">


  
  <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144-precomposed.png">
  <link rel="shortcut icon" href="/favicon.png">

  
  
</head>

  <body class="theme-base-0c ">
  <aside class="sidebar">
  <div class="container sidebar-sticky">
    <div class="sidebar-about">
      <a href="/mysite/"><h1>我的博客</h1></a>
      <p class="lead">
       这里是Sunday的个人博客 
      </p>
    </div>

    <nav>
      <ul class="sidebar-nav">
        <li><a href="/mysite/">Home</a> </li>
        
      </ul>
    </nav>

    <p>&copy; 2020. All rights reserved. </p>
  </div>
</aside>

    <main class="content container">
    <div class="post">
  <h1>Django</h1>
  <time datetime=2020-04-23T10:34:19&#43;0800 class="post-date">Thu, Apr 23, 2020</time>
  <h1 id="django">Django</h1>
<h3 id="创建项目">创建项目</h3>
<pre><code>django-admin startproject 文件名
cd 文件名    # 项目文件夹
</code></pre>
<h4 id="创建子应用">创建子应用</h4>
<pre><code>python manage.py startapp 应用名
创建应用时需要先进入项目目录
在manage.py同级目录运行
</code></pre>
<p>运行：python manage.py runserver</p>
<h4 id="项目目录说明">项目目录说明：</h4>
<pre><code>__init__.py    说明test1是一个python包
settings.py    项目的配置文件
urls.py        项目url配置文件
wsgi.py        web服务器和Django交互的入口
manage.py      项目的管理文件
</code></pre>
<h4 id="settingspy--基本修改配置">settings.py  基本修改配置：</h4>
<pre><code>INSTALLED_APPS=[
    'helloworld',    添加创建的子应用
]
'DIRS':[os.path.join(BASE_DIR,'templates')],
LANGUAGE_CODE='zh-Hans'      # 语言
TIME_ZONE='Asia/Shanghai'    # 时区和系统一致
USE_I18N = True    # 必须是True，否则LANGUAGE_CODE会失效
USE_TZ=False
STATIC_URL='/static/'
STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')]
</code></pre>
<h3 id="数据库迁移">数据库迁移：</h3>
<p>执行迁移命令时，在数据表中创建数据表，因为创建完模型类后，并没有真正的在数据库中创建了数据表</p>
<h5 id="1生成迁移文件">1.生成迁移文件</h5>
<p>manage.py 文件所在目录执行命令</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-angular2" data-lang="angular2">python manage.py makemigrations 
</code></pre></div><h5 id="2执行迁移命令">2.执行迁移命令</h5>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-angular2" data-lang="angular2">python manage.py migrate
</code></pre></div><h3 id="另一种数据迁移">另一种数据迁移：</h3>
<p>使用pycharm启动django项目时可方便地完成数据迁移。
<img src="/mysite/%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E7%9A%84%E6%96%B9%E6%B3%95.png" alt="数据迁移">
在下面直接输入：makemigrations 命令 回车！再输入migrate 回车！搞定。</p>
<h4 id="为什么使用djangodjango和flask的区别">为什么使用Django，Django和flask的区别？</h4>
<p>1.Django走的是大而全的方向,开发效率高。它的MTV框架,自带的ORM,admin后台管理,自带的sqlite数据库和开发测试用的服务器 给开发者提高了超高的开发效率</p>
<p>2.Flask是轻量级的框架,自由,灵活,可扩展性很强,核心基于Werkzeug WSGI工具和jinja2模板引擎</p>
<p>3.Tornado走的是少而精的方向,性能优越。它最出名的是异步非阻塞的设计方式</p>
<p>Tornado的两大核心模块：</p>
<pre><code>1.iostraem：对非阻塞式的socket进行简单的封装 
2.ioloop：对I/O多路复用的封装，它实现了一个单例
</code></pre>

</div>


    </main>

    
  </body>
</html>
